As enterprise software deployments increase in complexity, the costs for supporting such deployments is additionally increasing (and comprises a large portion of the total cost of ownership of enterprise software). With conventional systems, the support load directly scales up with a number of users. Therefore, there is little, if any, cost savings in large deployments. This lack of cost savings is based, in part, on the fact that such arrangements are often inefficient (e.g., support requests are often not routed to the correct entities), fault-prone (e.g., users often do not adequately describe the situation requiring support and its context), and time-intensive (e.g., the situation requiring support cannot be simulated). Moreover, conventional support processes are often not repeatable as a structured mechanism for symptom description and cause identification, nor do such processes optimally resolve identified errors.